package com.lst.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class TrainingDay {

//	public static void main(String[] args) {
//		Date date=new Date();
//		int num=14;
//		List<Date> list=train2(date,num);
//
//	    System.out.println(list.toString());
//
//	}
//  public static List<Date> train2(Date date,int num){
//		
//	List<String> list2=train(date,num);
//	List<Date> list3=new ArrayList<Date>();
//	if(list2!=null&list2.size()>0){
//		for(int i=0;i<list2.size();i++){
//			SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//			try {
//				Date dd=sdf.parse(list2.get(i));
//				list3.add(dd);
//			} catch (ParseException e) {
//				e.printStackTrace();
//			}
//			
//		}
//	}
//       return list3;
//	}
    public static List<String> train(Date date,int num){
		
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		double practise=num;
		double sleep=28-practise;
		double rate=practise/sleep;
		List<String> list=new ArrayList<String>();

	  	String backTime = sdf.format(date);
//	    System.out.println("训练先放进去一天："+backTime);
	  	 practise=practise+1;
	  	 list.add(backTime);
       for(int i=1;i<28;i++){
    	   if(practise/sleep>=rate){
    		   sleep+=1;
  // 		   System.out.println("休息日");
    	   }else{
    		   Calendar ca2 = Calendar.getInstance();
    		   ca2.setTime(date);
    	  	   ca2.add(Calendar.DATE, i);
    	  	   Date date2 = ca2.getTime();   
    	  	   String backTime2 = sdf.format(date2);
    	  	   list.add(backTime2);
   //	  	      System.out.println("训练日："+backTime2);
   	  	      practise+=1;
    	   }	   
      }
       return list;
	}
    
 public static List<String> train2(Date date,int num){
		
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		double practise=num;
		double sleep=28-practise;
		double rate=practise/sleep;
		List<String> list=new ArrayList<String>();

	  	 practise=practise+1;
       for(int i=1;i<28;i++){
    	   if(practise/sleep>=rate){
    		   Calendar ca2 = Calendar.getInstance();
    		   ca2.setTime(date);
    	  	   ca2.add(Calendar.DATE, i);
    	  	   Date date2 = ca2.getTime();   
    	  	   String backTime2 = sdf.format(date2);
    	  	   list.add(backTime2);
    		   sleep+=1;
    	   }else{
    		
   	  	      practise+=1;
    	   }	   
      }
       return list;
	}
//	public static void main(String[] args) throws Exception {
//		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//		String str="2017-09-17";
//		Date date =sdf.parse(str);
//		//获得4周的休息日
//				List<String> restDate=TrainingDay.train2(date,10);
//				//获得4周的训练日
//				List<String> list1=TrainingDay.train(date,10);
//				System.out.println("休息日："+restDate);
//				System.out.println("训练日："+list1);
//	}
}
